package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.TreeLazySelect;
import com.ruoyi.system.domain.DicTreeSelect;
import com.ruoyi.system.domain.SysTreeDictData;

/**
 * 字典数据Service接口
 * 
 * @author genghz
 * @date 2021-11-17
 */
public interface ISysTreeDictDataService 
{
    /**
     * 查询字典数据
     * 
     * @param dataId 字典数据主键
     * @return 字典数据
     */
    public SysTreeDictData selectSysTreeDictDataByDataId(Long dataId);

    /**
     * 查询字典数据列表
     * 
     * @param sysTreeDictData 字典数据
     * @return 字典数据集合
     */
    public List<SysTreeDictData> selectSysTreeDictDataList(SysTreeDictData sysTreeDictData);

    /**
     * 构建前端所需要下拉树结构
     *
     * @param sysTreeDictDataList 树形列表
     * @return 下拉树结构列表
     */
    public List<TreeLazySelect> buildTreeSelect(List<SysTreeDictData> sysTreeDictDataList);

    /**
     * 新增字典数据
     * 
     * @param sysTreeDictData 字典数据
     * @return 结果
     */
    public int insertSysTreeDictData(SysTreeDictData sysTreeDictData);

    /**
     * 修改字典数据
     * 
     * @param sysTreeDictData 字典数据
     * @return 结果
     */
    public int updateSysTreeDictData(SysTreeDictData sysTreeDictData);

    /**
     * 批量删除字典数据
     * 
     * @param dataIds 需要删除的字典数据主键集合
     * @return 结果
     */
    public int deleteSysTreeDictDataByDataIds(Long[] dataIds);

    /**
     * 删除字典数据信息
     * 
     * @param dataId 字典数据主键
     * @return 结果
     */
    public int deleteSysTreeDictDataByDataId(Long dataId);

    public List<DicTreeSelect> getSystemTreeData(String dictType);
}
